home *** CD-ROM | disk | FTP | other *** search
/ ftp.mactech.com 2010 / ftp.mactech.com.tar / ftp.mactech.com / machack / Hacks97 / FinderDungeon.sit / Finder Dungeon / source code / SnowPlug.cpp < prev    next >
C/C++ Source or Header  |  1997-06-28  |  1KB  |  77 lines

  1. #include <sane.h>
  2. #include <LowMem.h>
  3. #include <A4Stuff.h>
  4. #include <QuickDraw.h>
  5. #include <Memory.h>
  6. #include <Resources.h>
  7. #include <Fonts.h>
  8. #include <Dialogs.h>
  9. #include <QDOffscreen.h>
  10. #include <string.h>
  11. #include <stdio.h>
  12. #include <Timer.h>
  13.  
  14. char *memLoc = 0;
  15. int wavePos = 0;
  16.  
  17.  
  18. void initWavePlug()
  19. {
  20. }
  21.  
  22. void disposeWavePlug()
  23. {
  24. }
  25.  
  26. typedef struct {
  27.     TMTask            task;
  28.     Ptr                mainBaseAddr;
  29.     Size            worldBytes;
  30.     Ptr                worldBuffer;
  31.     short            rowBytes;
  32.     short            phase;
  33.     Rect            size;
  34.     short            offset;
  35. } MyTaskRec;
  36.  
  37. void doWavePlug(MyTaskRec* myTask)
  38. {
  39.     EnterCodeResource ();
  40.     short            height = myTask -> size.bottom - myTask -> size.top;
  41.     short            phase = myTask -> phase;
  42.     short            rowBytes = myTask -> rowBytes;
  43.     Ptr                worldBuffer = myTask -> worldBuffer;
  44.     Ptr                screenBuffer = myTask -> mainBaseAddr;
  45.  
  46.     
  47.     int i;
  48.     for(i = 0; i < height; i++)
  49.     {
  50.         unsigned char ch;        
  51.         char *j;
  52.         char *k;
  53.         
  54.         k = screenBuffer + i * rowBytes;
  55.         for(j = worldBuffer + i * rowBytes; j <= worldBuffer + i * rowBytes + rowBytes - 1 ; j++)
  56.         {
  57.             memLoc++;
  58.             ch = *memLoc % 67;
  59.             
  60.             if(memLoc > (char *)0x00040000)
  61.                 memLoc = 0;;
  62.             
  63.             if(ch == 65)
  64.                 *k = 0;
  65.             else
  66.                 if(ch == 27)
  67.                     *k = 255;
  68.                 else
  69.                     *k = *j;
  70.  
  71.             k++;
  72.         }
  73.     }
  74.     ExitCodeResource ();
  75. }
  76.  
  77.